The present invention relates generally to a method and apparatus for inputting data to a computer system, and more particularly to a device for moving a cursor on a display screen.
The size of computer display screens is getting larger with each new generation of product offerings. Not so long ago, a 9-inch monitor was the norm. Now, 21-inch monitors are found on the desks of many users. With the introduction of large-scale flat panel monitors, it is anticipated that even larger screens will soon become common.
Increasing the size of the display screen leads to longer paths that the cursor needs to move from a current position to a desired new position. However the speed of cursor movement has not increased with the size of display screens. Consequently, users who work with larger display screens have to spend more time and effort moving the cursor on the screen.
Currently, there are two methods for moving a cursor. In one method, the user displaces the input device itself. For example, a mouse is displaced on a desk-top, or a pen is displaced on a tablet. Alternatively, some part of the input device, for example, a trackball is displaced. Here, the movement of the cursor on the display screen is strictly proportional to the displacement of the user input device.
In another method, the cursor""s movement is proportional to the displacement of the input device and other displacement parameters such as velocity or acceleration parameters. The parameters can be constant or variable. To move the cursor, the user displaces the device, for example, a joystick, or some part of the input device from an initial position and keeps this displacement relatively constant for a specific amount of time. The cursor moves in the direction of this displacement with a speed proportional to the current displacement of the input device until a desired position is reached. After the cursor reaches the desired position, the user restores the device back to its initial state which stops cursor movement.
Both methods have their advantages and disadvantages. The first method provides better accuracy and maneuverability, at the expense of large displacements for large cursor movements. The second method reduces displacement of the input device, thus reducing user input and fatigue and also reduces the size of the input device. However, the second method is subject to overshooting the destination position.
A joystick type control device is described in U.S. Pat. No. 4,148,014, and a three-dimension mouse is described in U.S. Pat. No. 5,784,052. A convertible mouse-trackball pointer is described in U.S. Pat. No. 5,726,684. Combined mouse and trackball devices are described in U.S. Pat. No. 5,063,289 and 5,280,276. A combined touch-pad mouse is described in U.S. Pat. No. 5,880,717. All of these devices have the disadvantages as described above.
Therefore, it is desired to provide a method and apparatus which yields accurate cursor movement with relatively small displacement of the input device.
The invention provides a method and apparatus for controlling both coarse and fine cursor movement on a display screen. In one embodiment, a controller is configured to control a cursor direction and a cursor speed, and a second controller is configured to control a cursor x-y position. The first controller is used for fast and coarse movement of the cursor, and the second controller is used for slow and fine movement of the cursor after the approximate desired position is reached using the first controller. The second controller can be mounted on the first.
In one embodiment, the first controller is a joystick, and the second controller is a trackball mounted at the end of the joystick. In another embodiment, the first controller is a mouse, and the second controller is a trackball mounted on a top surface of the mouse.
A switch can be used to select between coarse and fine movement. By using a switch, accidental movement of one or the other controller can be suppressed. For example, a switch on the joystick in the first embodiment can disable the sensing of any spurious joystick movement when fine cursor movement is desired.
In a third embodiment, a mouse is used, and one of the mouse buttons selects whether the mouse is operating in coarse or fine movement mode. In the fine mode, the mouse behaves as a conventional computer mouse. In the coarse mode, the mouse displacement, and the direction of displacement from the last position determine the velocity of the cursor movement.